The present invention relates generally to data communications networks and more particularly relates to a method for establishing one or more qualification and associated triggered action functions on a specific connection in a connection oriented network such as an Asynchronous Transfer Mode (ATM) network.
Currently, there is a growing trend to make Asynchronous Transfer Mode (ATM) networking technology the base of future global communications. ATM has already been adopted as a standard for broadband communications by the International Telecommunications Union (ITU) and by the ATM Forum, a networking industry consortium.
ATM originated as a telecommunication concept defined by the Comite Consulatif International Telegraphique et Telephonique (CCITT), now known as the ITU, and the American National Standards Institute (ANSI) for carrying user traffic on any User to Network Interface (UNI) and to facilitate multimedia networking between high speed devices at multi-megabit data rates. ATM is a method for transferring network traffic, including voice, video and data, at high speed. Using this connection oriented switched networking technology centered around a switch, a great number of virtual connections can be supported by multiple applications through the same physical connection. The switching technology enables bandwidth to be dedicated for each application, overcoming the problems that exist in a shared media networking technology, like Ethernet, Token Ring and Fiber Distributed Data Interface (FDDI). ATM allows different types of physical layer technology to share the same higher layerxe2x80x94the ATM layer.
ATM uses very short, fixed length packets called cells. The first five bytes, called the header, of each cell contain the information necessary to deliver the cell to its destination. The cell header also provides the network with the ability to implement congestion control and traffic management mechanisms. The fixed length cells offer smaller and more predictable switching delays as cell switching is less complex than variable length packet switching and can be accomplished in hardware for many cells in parallel. The cell format also allows for multi-protocol transmissions. Since ATM is protocol transparent, the various protocols can be transported at the same time. With ATM, phone, fax, video, data and other information can be transported simultaneously.
ATM is a connection oriented transport service. To access the ATM network, a station requests a virtual circuit between itself and other end stations, using the signaling protocol to the ATM switch. ATM provides the User Network Interface (UNI) which is typically used to interconnect an ATM user with an ATM switch that is managed as part of the same network.
Networks that are connection oriented typically have two stages for connecting network users from point to point. The first stage in the establishment of the connection utilizes some form of signaling mechanism and in the second stage, data is transferred via the connection established in the first stage.
An example of such a connection oriented network is an ATM network. In the first stage, virtual connections are created using a complicated signaling/routing protocol such as Q.SAAL, Q.93, IISP, and/or PNNI between peer network nodes along the connection path to provide network users a service for establishing a connection to another network user. This connection is termed a Switched Virtual Circuit (SVC) and, once created, is used as the data path between the users that have been connected.
The connection originator uses the signaling protocol to convey the service details it is requesting the network to provide, e.g., destination address (the called address), class of service (CoS), traffic descriptor, protocol which is to used by the virtual connection, network transit, etc. In addition, the originator provides information about itself, in particular, its own address (the calling address).
Once the network receives the request from the originator user, it attempts to find a route to the destination that has sufficient resources to fulfill the specific characteristic requirements of the request as provided by the originating user. If the network finds a satisfactory route with the necessary resources to establish the connection, and if the called user also has sufficient resources to establish the connection, the connection is then established. Once the route is established, data can flow between source and destination over the connection.
Such a network may carry another type of connection known as a Permanent Virtual Circuit (PVC) which are typically established under manual management control. The service provided by PVCs and SVCs are the same, with the difference being their method of establishment.
The signaling/routing protocol used typically consumes a high percentage of computation resources in a node. This makes the connection establishment process slow. PVCs, as an alternative to SVCs, are set via management in a manual fashion on each network node along the path. The PVC connections are typically stored in system memory within the nodes making up the connection and are recreated in the event one or more portions of the connection fail. The connections are recreated and restored automatically, quickly and without the overhead of the signaling and routing protocol.
In the course of network operations, SVCs may be constantly created and torn down. SVC connections may be created very quickly and last for a relatively short lifetime duration, i.e., hundreds of milliseconds, seconds, etc., before being removed. In many networks today, however, SVCs serve to connect well known services located in the network to well known clients also connected to the network. These connections are utilized as permanent connections, as they are established and may not be taken down for days, weeks, and months. In many cases, SVCs are established on a permanent basis, whereby they are never taken down and remain up until a network failure occurs.
In many instances, it would be desirable for the network to take specific action before, during and/or after the establishment of a connection. Preferably, the specific action to be taken should be associated with a specific connection or connection requests. The network would have a mechanism by which a connection request or a group of connection requests can be qualified as the specific connection requests to act upon.
A block diagram illustrating the internal functional hierarchical processing layers in a typical prior art ATM switch is shown in FIG. 1. The example ATM switch, generally referenced 10, comprises an ATM Adaptation Layer Type 5 (AAL5) module 12 which is the protocol standard for supporting the transport of ATM traffic and signaling messages. This module functions to adapt the user traffic received from the PHY interface to the format of ATM cells. The signaling module 14 provides the signaling functionality for the switch. The connection control module 16 provides services for the establishment and removal of calls. Requests to establish and remove calls are processed by the call connection control module. The routing module 18 functions to execute the routing algorithm and associated protocols to route calls from the source to the destination.
What is lacking, however, is a means for providing a qualification function and associated one or more action functions. Currently, switches do not include any means by which connection requests can be screened for meeting certain specific criteria and performing action(s) for those connections that meet the criteria.
The present invention is a method of providing a qualification function and associated action function to be performed for a connection request or a group of connection requests. The invention is applicable to situations wherein it is desirable for the network to perform a specific action before, during and/or after the establishment of a connection. The network is provided a mechanism whereby specific connection requests trigger the performance of one or more action functions. The network is operative to quality the connection request(s). One or more action functions associated with those connection request(s) are then triggered in response thereto.
The qualifier, upon a connection meeting the criteria passes a trigger to the specific action function that performs the desired specific action. Examples of actions include but are not limited to (1) blocking the specific connection request, (2) steering the specific connection request to another destination address, e.g., an alias destination address, (3) pausing a specific connection request, etc. Further, more than one action may be specified, each action functioning to resolve an existing problem or perform a desired action.
It is important to note that the actual action functions themselves are not the key feature of the present invention. The qualification function, in combination with an action function (regardless of what the specific action is) is, however, the key feature of the present invention. A key feature of the invention is the mechanism by which one or more connection requests are qualified and selected as connections to perform one or more action functions on. It is intended that the scope of the present invention encompass any and all possible action functions, whether or not they are explicitly indicated herein.
Applications of the qualification functions and consequent action functions of the present invention include but are not limited to (1) diagnostic purposes, (2) debugging purposes and (3) any other application where it is desired to perform an action based on meeting one or more qualification criteria.
There is provided in accordance with the present invention, in a connection oriented network, a method of providing a signaling qualification function on one or more network elements for Switched Virtual Circuits (SVCs) originating from an SVC originator, the method comprising the steps of configuring the network element with a qualification database containing one or more qualification functions, configuring the network element with an action database containing one or more action functions, comparing the qualification functions in the qualification database against the contents of a call connection request message, each positive comparison generating a match, performing an action associated with the qualification function corresponding to each match.
The step of comparing comprises the step of scanning each qualification function against qualification information within one or more information elements making up the connection request message. The qualification function comprises an information element ID, a byte offset and a byte size of the information element information; a qualification reference and a qualification operator; a pointer to an action; an action ID; a priority indication and a multilevel priority indication.
The step of configuring the network element with a qualification database and/or action database is performed by a network manager via a network management station via a MIB using the SNMP protocol.
The method further comprises the step of providing an information element to be included with the connection request message sent to a next hop network element, the information element providing an indication of whether a particular action was performed for that particular connection.
The method further comprises the step of performing an ordered set of actions whereby the same qualification function triggers different actions on different network elements along the call path, wherein a network element performs its assigned action only if a previous hop network element indicates that its assigned action was performed.